From 9fedcec82eaf762648d094f4974f60c44820326a Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Thu, 5 Mar 2020 06:51:32 +0100 Subject: [PATCH] rbtree: Simplify code This makes it easier to understand for gcc (and hopefully humans, too) that by rotating we essentially just swap `node` and `p`. --- gtk/gtkrbtree.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/gtk/gtkrbtree.c b/gtk/gtkrbtree.c index 219222b1e8..55914d7cb6 100644 --- a/gtk/gtkrbtree.c +++ b/gtk/gtkrbtree.c @@ -381,10 +381,9 @@ gtk_rb_tree_insert_fixup (GtkRbTree *tree, if (node == p->right) { /* make node a left child */ - node = p; - gtk_rb_node_rotate_left (tree, node); - p = parent (node); - pp = parent (p); + gtk_rb_node_rotate_left (tree, p); + p = node; + node = p->left; } /* recolor and rotate */ set_black (p); @@ -410,10 +409,9 @@ gtk_rb_tree_insert_fixup (GtkRbTree *tree, /* uncle is black */ if (node == p->left) { - node = p; - gtk_rb_node_rotate_right (tree, node); - p = parent (node); - pp = parent (p); + gtk_rb_node_rotate_right (tree, p); + p = node; + node = p->right; } set_black (p); set_red (pp); -- 2.30.2